package cn.iocoder.yudao.module.digital.dal.dataobject.cardkeysecret;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.*;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;

/**
 * 卡密密钥 DO
 *
 * @author 超管
 */
@TableName("digital_cardkey_secret")
@KeySequence("digital_cardkey_secret_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class CardkeySecretDO extends BaseDO {

    /**
     * 卡密密钥id
     */
    @TableId(type = IdType.INPUT)
    private String id;
    /**
     * 卡密商品编号
     */
    private String productNo;
    /**
     * 领取状态
     *
     * 枚举 {@link TODO digital_cardkey_claim_status 对应的类}
     */
    private Integer claimStatus;
    /**
     * 领取日期
     */
    private LocalDateTime claimDate;
    /**
     * 礼品卡id
     */
    private String eGiftId;
    /**
     * 卡号
     */
    private String cardNumber;
    /**
     * Code
     */
    private String code;
    /**
     * PIN
     */
    private String pin;
    /**
     * 订单流水号
     */
    private String orderNo;
    /**
     * 用户id
     */
    private Long userId;
    /**
     * 来源
     *
     * 枚举 {@link TODO digital_cardkey_source 对应的类}
     */
    private Integer source;
    /**
     * 货币代码
     */
    private String currencyCode;
    /**
     * 面额（单位：分）
     */
    private Integer denomination;
    /**
     * 成本，单位：分
     */
    private Integer costPrice;
    /**
     * 请求id
     */
    private String requestId;

    /**
     * 卡密订单id
     */
    private String cardOrderId;

    /**
     * 发卡渠道订单id
     */
    private String channelOrderId;

    /**
     * 发卡渠道内部订单id
     */
    private String channelInnerOrderId;

    /**
     * 卡账号id
     */
    private String cardAccountId;
    /**
     * 交易检索参考号
     */
    private String retrievalReferenceNumber;

}